package listthree.utils;

import com.alibaba.druid.pool.DruidDataSourceFactory;

import javax.sql.DataSource;
import java.io.IOException;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Properties;

/**
 * @Author Administrator
 * @Date 2020/6/18 16:42
 * JDBC工具类
 * 利用Druid数据库连接池
 **/
public class JDBCUtils {
    private static DataSource ds;
    static{
        /*静态代码块，程序加载时执行一次，只执行一次
          1、加载配置文件进内存
          2、初始化DataSource
         */
        ;
        /*通过类加载器ClassLoader，将src目录下的配置文件加载进内存*/
        try {
            Properties pro = new Properties();
            pro.load(JDBCUtils.class.getClassLoader().getResourceAsStream("druid.properties"));
            /*通过Druid，初始化DataSource*/
            ds = DruidDataSourceFactory.createDataSource(pro);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    public static DataSource getDatasource(){
        return ds;
    }

    /**
     * 获取连接，通过DataSource获取
     * @return
     * @throws SQLException
     */
    public static Connection getConnection() throws SQLException{
        return ds.getConnection();
    }
    /*还可以加上释放资源的方法*/
}
